Support for international search terms - translate as you crawl

ABSTRACT

A search engine server delivers search results to a web browser of a client device communicatively coupled to the search engine server via the Internet. The system identifies new web pages in a source language during crawling, translates them into a plurality of destination languages, creates reverse indexes in respective languages, and stores both reverse indexes and cache web pages in a database. Upon the entry of search strings by a user using a web browser, the search engine server responds by delivering links of web pages in the user-desired language (the language of the search string or a language chosen by the user) as well as web pages translated from a plurality of destination languages, ranked based upon popularity or other means. The search engine server contains a plurality of translators that translate new web pages, links that are obtained during crawling, in to a plurality of destination languages.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. Ser. No. 12/437,611,filed May 8, 2009, and now issued as U.S. Pat. No. 8,250,083, whichclaims priority under 35 U.S.C. 119(e) to U.S. Provisional ApplicationSer. No. 61/053,712, filed May 16, 2008, both of which are incorporatedherein by reference in their entirety for all purposes.

BACKGROUND

1. Technical Field

The present invention relates generally to Internet infrastructures;and, more particularly, to search engines.

2. Related Art

A user, through direct and explicit knowledge, may know the addresses ofonly handful of web pages that provide relevant information. In theabsence of such knowledge of the direct addresses of websites that wouldprovide relevant information, the user typically resorts to searchengines to find web pages related to business, commercial, scientific,shopping, other professional or home needs, and other uses. The user mayuse search engines for a wide variety of purposes such as shopping,seeking further information about professional needs (such as businessand scientific needs), entertainment, downloading useful files,streaming video, etc.

However, search engines today have many shortcomings that limit theuser's ability to search for information. One of these shortcomings isthat when the user is in a foreign land where the spoken language(s) aredifferent from what the user is familiar with, the search enginesprovide web page information in the local language and the user is notable to understand the information in these web pages. For example whenan American visits Germany, and looks for hospital information for ahealth related issue, search engines may provide relevant information,but only in German language. Therefore, this information is unhelpful tothe user.

In other circumstances, the search engines may provide web pages withsome information in the native language of the user, but often theinterpretations of these words are incorrect or out-of-date due to lackof real-time support. This confusion may also happen or be exacerbatedif the search string provided has multiple meanings or translations inthe local language. Some search engines provide translations of webpages, but these translations are not exact and do not provide clearinformation that correlates well to the information originally writtenin the original language. The user cannot search if he/she knows of nosearch terms in a local language in a new city and/or thatinfrastructure does not support translation and/or searching in theuser's foreign language. For example, the user may be in a foreign landsearching for panels for outside of a house (that is, exterior wallcovering or exterior paneling) or local restaurants, or for local news.For a non-English speaker, the entire searching process becomesdifficult if not impossible. Therefore, a need exists for a moreinternationally compatible and friendly Internet infrastructure thataccommodates international and multi-language searching, content,translation, and processing.

These and other limitations and deficiencies associated with the relatedart may be more fully appreciated by those skilled in the art aftercomparing such related art with various aspects of the present inventionas set forth herein with reference to the figures.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to apparatus and methods of operationthat are further described in the following Brief Description of theDrawings, the Detailed Description of the Invention, and the claims.Other features and advantages of the present invention will becomeapparent from the following detailed description of the invention madewith reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an Internetinfrastructure containing a client device and web-browser-accessibleforeign language support search engine server;

FIG. 2 is a schematic block diagram illustrating an Internetinfrastructure, in continuation of FIG. 1, wherein the foreign languagesupport search engine server translates selected web pages upon aninquiry in real time and delivers them to the web browser in a desiredlanguage upon inquiry;

FIG. 3 is a schematic block diagram illustrating foreign languagesupport databases of FIG. 1 in detail;

FIG. 4 is a schematic block diagram illustrating in more detail the webcrawler support translator modules and independent database supporttranslator modules of FIG. 1;

FIG. 5 is a schematic block diagram illustrating in more detail the realtime translator modules of FIG. 2;

FIG. 6 is a schematic block diagram illustrating components of theforeign language support search engine server constructed in accordancewith the embodiments of FIG. 1 and FIG. 2 of the present invention;

FIG. 7 is a snap shot or screen shot of a search result page containingweb links of web pages in accordance with the embodiment of FIG. 1;

FIG. 8 is a flow diagram illustrating functionality of the search engineserver of FIG. 1, during a search operation;

FIG. 9 is a flow diagram illustrating functionality of the search engineserver of FIG. 2, during a search operation; and

FIG. 10 is a flow diagram illustrating functionality of the searchengine server of FIG. 1, wherein the search engine server identifies anew web page in a source language during crawling, translates it to aplurality of destination languages, creates reverse indexes inrespective languages, and stores both reverse indexes and cache webpages in a database.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an Internetinfrastructure 105 containing a client device 157 and (web browseraccessible) foreign language support search engine server 169 connectedvia the Internet 107. The foreign language support search engine server169 identifies new web pages in a source/original language by crawlingservers on the Internet 107, translates the web pages from thesource/original language into a plurality of destination languages,creates reverse indexes in respective languages, stores both reverseindexes and cache web pages in a database, and delivers selectedtranslated web pages to the web browser in the source and/or destinationlanguage upon inquiry.

In specific, the foreign language support search engine server 169gathers new or changed web pages in plurality of supported majorlanguages by crawling from one server, database, or web page to anotherand translates these new web pages from a source/original language tothe rest of the supported major languages (destination languages) thatthe system is set to manage. The system then stores the supported majorlanguage translations in respective destination language cachedatabases. Since Internet content is continually changing, the crawlingand translation of web content and pages is often a full time job forone or more servers or CPUs. Therefore, these translated pages must beupdated on a fairly routine or continuous basis to remain current.

In another embodiment, the source web pages or servers can ping,interrupt, or notify the server 169 that it has made changes whereby theserver 169 can remain current with consumption of less bandwidth andless consumed process time/power committed to updated or checkingcontent that is static and unchanging over long periods of time. Suchfunctionality may be accomplished by downloading an application from theforeign language support search engine server 169 to a server upon whichtranslation has been performed. The foreign language support searchengine server 169 also creates reverse indexes for these destinationlanguage databases and stores them in a separate destination languagereverse index database or databases. These databases may physically be asingle database, may only conceptually differ from one another or, inanother embodiment, the databases may also be distributed in differentlocations around the world. In other words, the foreign language supportsearch engine server 169 may be implemented as server clusters or cloudcomputing distributed in various physical locations over the Internet.This may also allow the databases to focus on only those languages thata have high interest in the local regions.

A search string 153 is entered from a web browser 151 or another clientapplication of the client device 157 in one of the supported majorlanguages (source language). Upon this event, the foreign languagesupport search engine server 169 determines the search string languageby either searching through conjugate terms databases (which containsall of the terms and strings in various supported major languages alongwith meanings or synonyms in rest of the supported major languages), byperforming optical character recognition or spatial/pattern recognitionon the text, or by identifying the domain name of the search enginequery web page. Once the source language is identified, the foreignlanguage support search engine server 169 determines the relevance ofthe web pages to the search string 153 in various languages by searchingthrough the reverse index databases in all of the supported majorlanguages. The server then selects web links that are pertinent to thesearch string 153 in all of the supported major languages and deliversboth source language web links (typically, in one of the windows in asearch result page) and web links in the rest (or some pre-selected oneor more target languages) of the relevant supported major languages (ina second window or a segmented interface). That is, the second windowmay display web links from one or more of the destination languagestranslated to the source language, and the languages displayed forperusing may be all the supported language, the target language of thesearch string, or a plurality of target languages selected by the userin the browser interface or the control panel of the client device 157.The web links in the second window may be coded so that they do notvector to the actual web pages in their respective servers, but theyvector to the cached web pages of the source language cache databasesproperly translated (if required) by the foreign language support searchengine server 169. Upon clicking on these web links (in the secondwindow), the foreign language support search engine server 169 deliversweb pages from the desired language cache databases, and these storedweb pages are already translated to the desired language.

For example, a search string 153 provided in the English language, thatis entered in Germany, typically provides web links that vector to webpages in the German language alone. However, the foreign languagesupport search engine server 169, upon receiving a search string 153 inEnglish provides not only the relevant web links of the English websites, but also web links that vector to the foreign language supportsearch engine server's 169 translated English language web page cachedatabase (which among them contains the plurality of German web pagestranslated to English in the second window. Alternatively, a singlewindow may also display search results in the English language mixedwith translated German language web pages. And, as already discussed,the user may ask for the German pages to be provided in one or more ofEnglish, French, and Spanish (i.e., multiple other foreign languages).

In another embodiment, the foreign language support search engine server169 provides real time translation support specifically while dealingwith languages other than the supported major languages (such as onesthat have few users where it is not cost effective to provide databasesupport) or while working with dynamic web pages (whose contents changefrequently). Therefore, translation support may be performed before auser access with the page(s) cached for prompt response to a userrequest. The system may cache or retain content in an untranslatedoriginal state and only translate for presentation to a user thatcontent and those languages that are requested by the user. The secondoperation may provide a solution that uses less computational bandwidth,Internet bandwidth, and processing power/memory, whereas the firstsolution may improve the latency of providing meaningful data to theuser in a timely manner. In some cases, a hybrid of the two approachesmay work the best. In the case or real time translation processing, theforeign language support search engine server 169 translates the webpages of destination languages in real time and delivers translatedpages to the web browser 151 (refer to the FIG. 2 for detaileddescription of real time translation services).

To store all of the source language web pages and respective translatedweb pages in other (destination) major languages and their reverseindexes (for quick search response), the foreign language support searchengine server 169 contains a plurality of databases (which mayconceptually be separate, but physically may be in a single database oreven distributed among plurality of servers—server clusters—worldwide)via a foreign language support databases 195. The foreign languagesupport databases 195 in turn contain a plurality of conceptuallydistributed databases such as international language reverse indexdatabases 181, international language web page cache databases 183,translated language reverse index databases 185 and translated languageweb page cache databases 187. For example, the international languagereverse index databases 181 and international language web page cachedatabases 183 may contain reverse indexes (containing search terms—orstrings or phrases—and relevant web links linked to these terms) andcache web pages (frozen web pages at the time of crawling andidentifying new web pages), respectively, in all of the supported majorlanguages, such as English, German, French, Spanish, Chinese and Hindi.These databases 181 and 183 contain web pages that are retrieved fromthe respective servers without any alterations or translations.Similarly, translated language reverse index databases 185 andtranslated language web page cache databases 187 may contain reverseindexes and cache web pages, respectively, in all of the supported majorlanguages other than the source language. For example, for every Englishlanguage web page available in one of the international language webpage cache databases 183, the translated language web page cachedatabases 187 may contain in their respective destination languagedatabases translated cache web pages in German, French, and Spanish;Chinese and Hindi (refer to FIG. 3 for detailed description of thisfunctionality using the databases).

In addition to the databases, the foreign language support search engineserver 169 contains a plurality of translators that translate web pagesfrom their source languages to one/more/all other supported majorlanguages (i.e., destination languages) and stores them in therespective translated language reverse index databases 185 andtranslated language web page cache databases 187. The plurality oftranslators includes two or more different types (in differentembodiments of the present invention or used together). In FIG. 1, twospecific different types of translators are specifically shown, that is,web page crawler support translator modules 175 and independent databasesupport translator modules 177. The web page crawler support translatormodules 175 in turn contain a plurality of translators that translate aweb page, in a source language (i.e., one of the major languages thatare supported by the system), identified by a web page crawler module173 during crawling operations, to a plurality of other languages(destination languages, all of the languages in the supported majorlanguages other than the source language in one embodiment) and storesthem in the respective translated language web page cache databases 187and then, creates reverse indexes for each of these cache databases 187and stores them in the respective translated language reverse indexdatabases 185. In another embodiment, translation may only occur on anas needed basis and may be temporarily cached to save translationprocessing on content this is hit often. Therefore, the translationprocess, as already discussed, can be real-time while web pages arerequested or may be preformed off-line in the background so all contentis translated and waiting once requested in a certain language by theuser.

Returning to the example of FIG. 1, a vector to an English language webpage is identified by the web page crawler module 173 and is supplied tothe web page crawler support translator modules 175. Modules 175, inturn, retrieve the English language web page and translate them intoplurality of other supported major languages such as German, French,Spanish, Chinese and Hindi. Such languages may differ in differentservers around the planet, as different regions will obviously favordifferent languages. In all, if there are four supported majorlanguages, for example, then twelve translators are employed to performtranslations into rest of the supported major languages. Therefore, theweb page crawler support translator modules 175 may contain twelvetranslators, in this case, to support all language combinations. Inother embodiments, use cases may indicate that translations betweenlanguage one and language three are common whereby translations fromlanguage two to language four are uncommon or never requested. In thesecases, some of the twelve (or whichever number) of combinations may beeliminated as the local use case allows.

Similarly, the independent database support translator modules 177performs translations from a source language into the rest of thesupported major languages, in another embodiment of the presentinvention, by accessing web pages from the international language webpage cache databases 183 and translated language web page cachedatabases 187 directly. In other words, these translators 177 do notlink to web page crawler module 173, on the contrary, the translators177 access web pages directly from cache databases 183 and 187. Again,if there are four supported major languages, for example, then theindependent database support translator modules 177 may contain up totranslators, to perform translations into rest of the supported majorlanguages. Refer to FIG. 4 and its corresponding text for a detaileddescription of the web page crawler support translator modules 175 andindependent database support translator modules 177).

To perform other search-operation-related functionalities, the foreignlanguage support search engine server 169 contains web page ranking andlisting module 179 and search string interpretation module 193. Thesearch string interpretation module 193 receives a search string 153 ina source language and determines its language by looking into theconjugate terms databases (not shown, refer to the FIG. 3 for detaileddescription of conjugate terms databases) and then retrieves conjugatesource language terms, and may even facilitate translations as needed torender the search string compatible with the searchable contentlanguages. The conjugate terms databases contain strings and terms fromall of the supported major languages in one column along with a languagetag in another column and a plurality of corresponding conjugatedestination language strings and terms in a series of succeedingcolumns. In other embodiments, other data constructs can be used andwill still be effective. The conjugate destination language strings andterms are retrieved when an ‘enable international terms support’ buttonis enabled in a search interface page of the foreign language supportsearch engine server 169, otherwise the same search strings or terms areused to conduct searching. The client device 157 illustrated in FIG. 1is communicatively coupled to the foreign language support search engineserver 169 via an Internet 107.

An ‘enable thesaurus’ button provided in the search interface page ofthe foreign language support search engine server 169 and accessible viaweb browser 151 may be individually enabled or may be enabled along withthe ‘enable international terms support’ button. If the ‘enablethesaurus’ button is individually enabled, then various synonyms of thesearch string are utilized for more comprehensive searching.Alternatively, if the ‘enable thesaurus’ button is enabled along withthe ‘enable international terms support’ button, then the process ofretrieving conjugate destination language strings or terms (mentioned inthe above paragraphs) is accompanied by retrieving synonyms for theconjugate source language strings or terms from a thesaurus database(not shown specifically in FIG. 1). This process of determining synonymsbroadens the scope of search since exact translations in destinationlanguages may not be available for the search string 153. Once conjugatedestination language strings and terms and their synonyms are retrieved,they are utilized to select search result web links.

For example, if a user (who understands only English) is in Germany andwants to conduct a search using English terms, the search results aretypically returned are German language web pages. Even thoughtranslation applications may be locally available on a client for someof the web pages, those translation operations are not exact. In otherwords, the user often cannot search in Germany if he/she does not usesearch strings entered in local language in a new city. The foreignlanguage support search engine server 169, in accordance with theteachings herein, allows the user to search using an English searchstring 153 (that is using words in a source language) by enabling‘enable international terms support’ and/or ‘enable thesaurus’ buttons,and provides web links that vector to both English language web pages intheir respective Internet servers and relevant German language web pagesthat are translated to English and are located in translated Germanlanguage web page cache database (of translated language webpage cachedatabases 187). Thus, for example, if the user is searching forhospitals in Germany, he/she may receive web links that provide localhospital information in English (by vectoring the web links to thetranslated original German web pages in the translated language web pagecache databases 187).

FIG. 2 is a schematic block diagram illustrating an Internetinfrastructure 205, in continuation of FIG. 1, wherein the foreignlanguage support search engine server 269 (similar to the server 169 ofFIG. 1) translates selected web pages upon inquiry in real time anddelivers them to the web browser 251 (similar to the browser 151 ofFIG. 1) in a source language upon inquiry. Specifically, the foreignlanguage support search engine server 269 identifies the source languageof the search string 253 (upon inquiry in a source language via the webbrowser 251 on the client device 257, in a search interface page on ascreen of the client device 257) and then selects and delivers web linksof web pages in relevant source and destination languages derived fromreverse index databases and cache databases and translates the relevantweb content in real time upon clicking on the web links in the searchresult pages and delivers these translated web pages to the web browser251 via the Internet 207 (similar or identical to the Internet 107 ofFIG. 1). The real time translation may occur on web pages of manydestination languages that include supported major languages as well asother minor languages that have few users (where it is often not costeffective to provide database support) and dynamic web pages (whosecontents change frequently). In these cases, the foreign languagesupport search engine server 269 translates these web pages ofdestination languages in real time and delivers them to the web browser151. The translation occurs in real time upon clicking on the web linksdelivered in the search results pages. Therefore, a hybrid approachinvolving cached or database-stored pre-access translation and real-timetranslation on an as-needed basis for other content can be employed.

The foreign language support search engine server 269 utilizes reverseindexes of the source languages that are stored in internationallanguage reverse index databases 281 to select web links upon inquiry.These databases 281 may physically be a single database, may onlyconceptually differ from one another, or the databases may also bedistributed in different locations around the world to enable cloudcomputing or peer-to-peer systems. In other words, the foreign languagesupport search engine server 269 may be implemented as server clustersdistributed in various physical locations.

The foreign language support search engine server 269 determines thelanguage of the search string 253 in one of the supported majorlanguages (source language) or other minor languages by either searchingthrough conjugate terms databases (which contains all of the terms andstrings in various supported major languages and other languages alongwith meanings or synonyms in rest of the supported major languages), bypattern/spatial/character recognition, and/or by identifying the domainname of the search interface page. Once the source language isidentified, the foreign language support search engine server 269determines the relevance of the web pages (to the search string 253) invarious languages by searching through the international languagereverse index databases 281 and selects web links that are pertinent tothe search string 253 and delivers these web links (typically, inmultiple windows, via a search result page). Upon clicking on these weblinks (in a window that contains web links of web pages in languagesother than source language), the foreign language support search engineserver 269 delivers real-time translated web pages from internationallanguage web page cache databases 283 or may provide cachedpre-translated pages from other transactions for high traffic content onthe Internet 207.

To store all of the source language web pages in supported majorlanguages and other minor languages and their reverse indexes (for quicksearch response), the foreign language support search engine server 269contains a plurality of databases (which may conceptually be separate,but physically may be in a single database or even distributed amongplurality of servers—server clusters—worldwide), under the access andcontrol of the international language reverse index databases 281 andinternational language web page cache databases 283. For example, theinternational language reverse index databases 281 and internationallanguage web page cache databases 283 may contain reverse indexes(containing search terms—or strings or phrases—and relevant web linkslinked to these terms) and cached web pages (frozen web pages at thetime of crawling), respectively, in all of the supported major languagesand other languages, such as English, German, French, Spanish, Chinese,Hindi (supported major languages) and Swahili, Vietnamese,Czechoslovakian languages (other languages having much lesser number ofusers). These databases 281 and 283 contain web pages that areretrieved, by a web page retrieval module 273, from the respectiveservers without any alterations or translations.

In addition to databases, the foreign language support search engineserver 269 contains a plurality of translators that translate web pagesin real time (though, possibly, at some cost of time of response andaccuracy of translation) from their source languages to the language ofinquiry and delivers them upon clicking on the web links, via real timetranslator modules 275. If there are four supported major languages andother minor languages, for example, then up to twelve real timetranslators are employed to perform all relevant translations.Therefore, the real time translator modules 275 may contain twelvetranslators, in this case.

To perform other search operation related functionalities, the foreignlanguage support search engine server 269 contains web page ranking andlisting module 279 and search string interpretation module 285. Thesearch string interpretation module 285 receives a search string 253 ina source/search language and determines its language by looking into theconjugate terms databases (not shown, refer to the FIG. 3 for detaileddescription of conjugate terms databases) and then retrieves conjugatesource language terms from memory/storage. The conjugate terms databasescontain strings and terms from all of the supported major languages inone column along with a language tag in another column and a pluralityof corresponding conjugate destination language strings and terms in aseries of succeeding columns. Other data structures and methods can alsobe used to store this information in a manner suitable for use herein.The client device 257 illustrated in FIG. 2 is communicatively coupledto the foreign language support search engine server 269 via an Internet207.

As an example of the operation of FIG. 2, if a user (who understandsonly the Czech language, which is not one of the supported majorlanguages and has only few users) were to be in Germany and were toconduct a search using Czech language terms, what typically comes backare web links of German web pages. The foreign language support searchengine server 269, in accordance with the teachings herein and in thesecases, will allow the user to search using an Czech language searchstring 253 (that is using words in a source language) by enabling‘enable international terms support’. The system then provides web linksthat vector to Czech language web pages in their respective Internetservers and that vector to relevant German language web pages availablein the international language web page cache databases 283. Thus, forexample, if the user is searching for travel agents in Germany or CzechRepublic, he/she may receive web links that provide information aboutGerman and Czech Republic travel agents in Czech language. When the userclicks on the web links (of travel agents in German language), theforeign language support search engine server 269 delivers real timetranslated web pages from, for example, a Czech language web page cachedatabase (one of the international language web page cache databases283).

FIG. 3 is a schematic block diagram 305 illustrating foreign languagesupport databases 395 of FIG. 1, in detail. Specifically, the foreignlanguage support search engine server 369 contains a plurality ofdatabases to store all of the source language web pages and respectivetranslated web pages in the destination major languages along with theirreverse indexes (for quick search response), using the foreign languagesupport databases 395. The foreign language support databases 395 inturn contain a plurality of conceptually distributed databases invarious languages. For example, as pertaining to English language, atypical source language, the foreign language support databases 395 maycontain databases such as English language reverse index database 331,English language web page cache database 333, translated Englishlanguage reverse index databases 335, translated English language webpage cache database 337 and conjugate English language terms database339. The conjugate English language terms database 339 contain stringsand terms from English language in one column or database constructalong with a language tag and a plurality of corresponding conjugatedestination language strings and terms in a series of succeeding columnsor different database constructs. The foreign language support searchengine server 369 is communicatively coupled to Internet 307 in FIG. 3.

As an example of the operation of FIG. 3, the English language reverseindex database 331 and English language web page cache databases 333 maycontain reverse indexes (containing English search terms—or strings orphrases—and relevant web links of English web pages linked to theseterms) and cache web pages (frozen English web pages at the time ofcrawling and identifying new web pages), respectively. These databases331 and 333 contain English web pages that are retrieved from therespective servers without any alterations or translations. Similarly,translated English language reverse index database 335 and translatedEnglish language web page cache database 337 may contain reverse indexesand cache web pages translated to English from all of the othersupported major languages other than the English language.

Similarly, the foreign language support databases 395 may contain aplurality of databases in various other languages such as German, byusing the German language reverse index database 341, German languageweb page cache database 343, translated German language reverse indexdatabases 345, translated German language web page cache database 347and conjugate German language terms database 339, as well as in rest ofthe supported major languages such as French, Spanish, Chinese and Hindi(supported major languages) and other languages having much lessernumber of users such as Swahili, Vietnamese and Czech languages.Therefore, FIG. 3 illustrates the kind of software, databases, andinformation is needed per language and per system in order to enable thelanguage translation taught herein. And, as already noted, thesedatabases and software may be distributed among clients, other servers,and other devices/storage/memory over the Internet.

FIG. 4 is a schematic block diagram 405 illustrating web crawler supporttranslator modules 495 and the independent database support translatormodules 497 (similar to modules 175 and 177 of FIG. 1) in greaterdetail. The foreign language support search engine server 469 (similarto server 169 of FIG. 1) contains a plurality of translators thattranslate web pages from their source languages to all other supportedmajor languages (i.e., destination or target languages) and stores themin the respective translated language reverse index databases andtranslated language web page cache databases (not shown, but refer toFIG. 3 for detailed descriptions of these elements). The plurality oftranslators belongs to two different categories. A first category beingweb page crawler support translator modules 495 and a second categorybeing independent database support translator modules 497. In otherembodiments, fewer or more translator constructs may be present in FIG.4.

The web page crawler support translator modules 495 in turn contain aplurality of translators that translate a new web page from a source ororiginal language (i.e., one of the supported major languages), that isidentified by a web page crawler module (not shown) during crawlingoperations, to a plurality of other languages (destination languages,all of the languages in the supported major languages other than thesource language). The modules 495 store the translations and relateddata in the respective translated language web page cache databases (notshown in FIG. 4, but preferably a part of the local storage discussed inFIG. 6) and then, creates reverse indexes for each of these cachedatabases (not shown in FIG. 4, but usually part of systemstorage/memory) and stores them in the respective translated languagereverse index databases (not shown in FIG. 4).

In all, if there are four supported major languages, for example, thenup to twelve translators are employed to perform translations into restof the supported major languages. Other translators may be employed if adialect has many different versions. An example may be that English mayhave different translations if the target region is England, versus theUS, versus Australia. Therefore, the web page crawler support translatormodules 495 may contain twelve translators, in this case, or more orfewer translators if other language or dialect versions are supported.The web page crawler support translator modules 495, for example, maycontain English-German translator module 431, English-French translatormodule 433, English-Hindi translator module 435 (and so on, covering allother supported major languages, that is, English to all other majorlanguages translator modules) and then, German-English translatormodules 437 (and again covering all other supported major languages,that is, German to all other major languages translator modules).

In addition, there are other modules in the web page crawler supporttranslator modules 495 that assist the plurality of translator modulessuch 431, 433, 435, and 437. These include translated web pagecorrelation modules 439, multi-language translation rule modules 441,and user edit translation rule analysis modules 443. The user edittranslation rule analysis modules 443 allow users who receive varioustranslated web pages to correct or modify them as they think necessaryto extract proper meanings from translated sentences in a given context.The translated web page correlation modules 439 compare the web pagestranslated by translator modules such as 431, 433, 435 and 437 with thesource web pages by utilizing many inputs such as the ones obtained bythe user modifications and corrections and then arrive at rules oraugmented processes that would be employed by the translator modulessuch as 431, 433, 435 and 437 in all future translations. All of thetranslations done by the translator modules such as 431, 433, 435, and437 are assisted and governed by the multi-language translation rulemodules 441. Therefore, with the modules 439, 441, and 443, the systemcan self correct over time or learn in an artificial intelligencemanner, by employing the collective feedback of millions of users andother insight over time. This feedback could also be reviewed by ITprofessionally that run the server 469 to ensure that the translationsare not being sabotaged or virally infected in an adverse manner.

Similarly, the independent database support translator modules 497perform translations from a source language into the rest of thesupported major languages (i.e., destination or target languages), byaccessing web pages from the international language web page cachedatabases (not shown, but usually resident in server storage/memory) andtranslated language web page cache databases (not shown, but usuallyresident in server storage/memory, see FIG. 6) directly. In other words,these translators 497 access web pages directly from cache databases andtranslate them as necessary. Again, if there are four supported majorlanguages, for example, then the independent database support translatormodules 497 may contain up to twelve translators, to performtranslations into rest of the supported major languages.

The independent database support translator modules 497, for example,may contain English-German translator module 451, English-Frenchtranslator module 453, English-Hindi translator module 455 (and so on,covering all other supported major languages, that is, English to allother major languages translator modules) and then, German-Englishtranslator modules 457 (and ongoing again to cover all other supportedmajor languages, that is, German to all other major languages translatormodules).

In addition, there are other modules in the independent database supporttranslator modules 497 that assist the plurality of translator modulessuch 451, 453, 455, and 457. These include translated web pagecorrelation modules 459, multi-language translation rule modules 461,and user edit translation rule analysis modules 463. These modules 459,461 and 463 function in analogous manner to that of modules 439, 441,and 443 mentioned in the above paragraphs for FIG. 4.

FIG. 5 is a schematic block diagram 505 illustrating real timetranslator modules 569 of FIG. 2, in more detail. The foreign languagesupport search engine server 569 (analogous to the server 169 of FIG. 1)contains a plurality of real time translator modules 595 that translateweb pages in real time from their source languages to all othersupported major languages and other minor languages (i.e., thedestination or target languages) and deliver them to the web browsers(see FIGS. 1-2) upon inquiry and request. In all, if there are foursupported major languages and other minor languages, for example, thenup to twelve real time translators are employed to perform translationsinto one of the supported major languages or other minor destinationlanguages. Therefore, the foreign language support search engine server569 may contain twelve translators, in this case. The foreign languagesupport search engine server 569, for example, may containEnglish-German translator module 531, English-French translator module533, English-Hindi translator module 535 (and so on, covering all othersupported major languages, that is, English to all other major languagestranslator modules) and then, German-English translator modules 537 (andagain covering all other supported major languages, that is, German toall other major languages translator modules). These translators 531,533, 535 and 537 are programmed to function in real time in oneembodiment. In another embodiment, the translators can be programmed tofunction off-line or in a combination of off-line and real-timeprocessing modes. If these modules function in real time, they willoperate after the user at a client device receives search results interms of web links that may also contain some translated web links oflanguages other than the source language, and clicks upon one of theseweb links. The translators 531, 533, 535 and 537 receive web pages thatbelong to languages other than the source language from their respectiveInternet servers and then, before delivery, they translate this webcontent to the source language.

In addition, the foreign language support search engine server 569contains other modules that assist the plurality of real time translatormodules such 531, 533, 535, and 537. These include multi-languagetranslation rule modules 539. All of these translations are done by thereal time translator modules, such as modules 531, 533, 535 and 537, andare assisted and governed by the multi-language translation rule modules539. It is important to note that most embodiments herein are discussedin terms of finding web pages in a source language and converting them,either real-time or off-line, to target languages to allow forinternational use. However, other methods may be used, using the systemstaught herein. For example, a server may crawl international sites inother languages and covert those web pages to the original/sourcelanguage used in the region that is served by the server. For example, aserver 169 in the US, could crawl or seek out pages in France andGermany and grab those pages in the local languages and convert them toEnglish and store them in the US so that US users could access contentpreviously only available in Europe and then only available in foreignlanguages (in this case, German and French). Therefore, the variousmethods of translating and converting web content to make it moreaccessible to other users that use other languages can vary, but achievethe same end objective.

FIG. 6 is a schematic block diagram 605 illustrating components of theforeign language support search engine server 607 constructed inaccordance with the embodiments of FIG. 1 and FIG. 2 of the presentinvention. The foreign language support search engine server circuitry607 may in part or in full be incorporated into any computing devicethat is capable of serving as an Internet based server or client device.The foreign language support search engine server circuitry 607generally includes processing circuitry or CPU(s) 609, localstorage/memory 617, manager interfaces 649, and network interfaces 641.These components are communicatively coupled to one another via one ormore of a system bus, dedicated communication pathways, or other director indirect communication pathways as shown in FIG. 6. The processingcircuitry or CPU 609 may be, in various embodiments, a microprocessor, agraphics processing unit, a digital signal processor, a state machine,an application specific integrated circuit, a field programming gatearray, combinations thereof, multi-core processors, or other processingcircuitry.

The network interfaces 641 contain wired, optical, and/or wirelesspacket switched (or other) interfaces 645 and may also contain built-inor an independent interface processing circuitry or CPU(s) 643. Thenetwork interfaces 641 allow the foreign language support search engineserver 607 to communicate with client devices, such as client device 661of FIG. 6 via the Internet 655 and to deliver search result pages andweb content in the source language and/or translated language web pagesto web browser 651 in FIG. 6. Such searches are initiated via theprovision of one or more search strings 653 or search data within theclient device 661 of FIG. 6. The manager interfaces 649 may include adisplay and/or keypad interfaces. These manager interfaces 649 allow theuser or IT professional at the foreign language support search engineserver 607 to control aspects of the system and itsperformance/functionality/security. The client device 661 illustrated inFIG. 6 is communicatively coupled to the foreign language support searchengine server 607 via the Internet 655, which is analogous to theInternet 107 of FIG. 1.

Local storage/memory 617 may be any type of random access memory,read-only memory, electrically erasable memory, non-volatile memory,flash memory, a disk drive, an optical drive, cache memory, combinationsthereof, or another type of memory that is operable to store computerinstructions and/or data. The local storage 617 stores software/data toembody a search string interpretation module 619, web page crawlersupport translator modules 621, independent database support translatormodules 623, real time translator modules 625, web page ranking andlisting module 627, foreign language support databases 629, thesaurusdatabases 631, conjugate terms databases 633, and web page crawlermodule 635. These modules 619, 621, 623, 625, 627, 629, 631, 633, and635 of FIG. 6 facilitate the interpretation of the search string thatmay include translation operations, the identification of new web pagesin a source language by a crawling process, followed by varioustranslation(s) into a plurality of destination languages,ranking/ordering/rating of web pages that are placed in search resultlists as part of a search operation, the creation of reverse indexes inrespective languages, the enabling of searching based on search stringsynonyms or a thesaurus database, the storing of both reverse indexesand cache web pages, and the delivery of selected translated web pagesto the web browser in the source language upon inquiry. These operationsare discussed in more detail in following paragraphs.

Upon receiving a search string 653 in one of the supported majorlanguages (source language) or other minor languages (a minor sourcelanguage), the search string interpretation module 619 determines thelanguage of the search string by either searching through the conjugateterms databases 633, via pattern/character/optical/spatial recognitionand/or by identifying the domain name of the search engine query webpage. Once the source language of the search string is identified, theweb page ranking and listing module 627 determines the relevance of thevarious search results or web links to the search string 653. The searchresults may belong to various languages and require translationoperations or processing by searching through the reverse indexdatabases (contained in the foreign language support databases 629) inall of the supported major languages and other minor languages.Eventually, corresponding web pages are selected and the web page's weblinks that are pertinent to the search string 653 are delivered ineither or both the source language and one or more target or destinationlanguages (vectored to the web pages in the foreign language supportdatabases 629).

The local storage/memory 617 also contains a plurality of translatorsthat translate web pages from their source languages to all othersupported major destination/target languages and store them in theforeign language support databases 629. The plurality of translatorsincludes three types of translators (in different combination indifferent embodiments herein), that is, web page crawler supporttranslator modules 621, independent database support translator modules623, and real time translator modules 625. The web page crawler supporttranslator modules 621 in turn include a plurality of translators thattranslate a new web page from a source language identified by a web pagecrawler module 635 during crawling operations, to a plurality of otherdestination/target languages and stores them in the foreign languagesupport databases 629 or some other storage/memory construct within theserver or over the Internet or other local peripheral bus structuresthat connect to additional storage. Then, the web page crawler supporttranslator modules 621 creates reverse indexes for each of the cachedatabases contained in the foreign language support databases 629 andstores them in the respective reverse index databases which are alsocontained in the foreign language support databases 629.

The independent database support translator modules 623 performtranslations from a source language into one or more of the supportedmajor destination or target languages (or some subset thereof selectedby the user or designated by the region services by the server) byaccessing web pages from the foreign language support databases 629directly. That is, these independent database support translator modules623 do not link to web page crawler module 635 in one embodiment, and onthe contrary, these modules access web pages directly from the foreignlanguage support databases 629.

The real time translator modules 625 provide real time translationsupport to the users, specifically while dealing with the other minorlanguages requirements (e.g., processing in a special manner thoselanguages that have fewer users where it is not cost effective toprovide database and continuous support for those minor languages) orwhile dealing with dynamic web pages (whose contents change frequently).An example of a page that changes frequently is CNN.com where newschanges many times over the course of the day. In these cases, the realtime translator modules 625 access the requested web pages in the sourceor destination languages from their respective Internet servers,translates them in real time, and delivers that content to the webbrowser 651.

In the case of all of these three types of translators 621, 623, and625, if there are four supported major languages and other minorlanguages, for example, then the translator modules 621, 623, and 625may contain up to twelve translators each, to perform translations intothe rest of the supported major destination/target languages and otherminor destination/target languages, as mentioned in the previousparagraphs.

The foreign language support databases 629 contain a plurality ofconceptually distinct databases to store all of the source languagecache web pages, respective destination language translated web pages,and their reverse indexes (for quick search response). These databasesinclude international language reverse index databases, internationallanguage web page cache databases, translated language reverse indexdatabases, and translated language web page cache databases as taughtherein. The conjugate terms databases 633 contain strings and terms fromall of the supported major languages and other minor languages in onecolumn along with a language tags and a plurality of correspondingconjugate destination language strings and terms in a series ofsucceeding columns. Further, other data constructs, like trees, linkedlists, arrays, rows, etc., can be used to construct the data anddatabase used for databases 633. The local storage also contains athesaurus database 631, containing synonyms to various terms in aplurality of languages, to provide synonym support to the searchoperations.

In other embodiments, the foreign language support search engine server607 of the present invention may include fewer or more components thanare illustrated as well as lesser or further functionality. In otherwords, the illustrated foreign language support search engine server ismeant to merely offer one example of possible functionality andconstruction in accordance with the present invention.

FIG. 7 is a snap shot or screen shot of a search result page 705containing web links of web pages in accordance with system embodimentshown in FIG. 1. Specifically, the snap shot illustrated in FIG. 7 showsa search result page 705 delivered to web browser 795 of a client device(as shown in FIGS. 1-2). The screen of FIG. 7 contains selected sourcelanguage web links as well as translated web page web links as providedto the web browser in the source and/or destination/target language uponan inquiry (in this case the search string of inquiry is shown in FIG. 7as ‘Drywall’ 725).

The search result page 705 that is delivered to the client device maycontain a page title such as ‘Search Engine's Web Page(www.Search_Engine.com)’ 721. It may also contain a title such as‘SEARCH ENGINE.COM’ 741 and a tool bar 751 providing access to otherselections, menus, or pages of the search engine server or browser. Twolanguage selection tools 745 and 749 that are shown as selecting English743 (as the source language) and Hindi 747 (as the destination language)may also be provided. This interface (or an interface similar to it)allows users to choose a source language (English, in this case) and adestination language (Hindi, in FIG. 7) as shown in this page/screenexample.

A text area such as ‘Enter Search String:’ 723 and text box 727 areprovided to facilitate user's further search, in one of the windows. Inthis case, “drywall” 725 is the text entered into this field. This userentry window area may also contain buttons/selections such as ‘EnableInternational Terms Support’ 729, ‘Enable Thesaurus’ 733, and ‘EnableTranslation’ 735 or other buttons/selections as illustrated in FIG. 7.These buttons provide user options to perform one or more searches usinga source and destination language or languages, synonyms, andtranslation support in any combination.

In this snap shot of FIG. 7, the search result page 705 shows resultsfor the search string ‘Drywall’ 725 based upon both the term ‘Drywall’itself as well as the conjugate Hindi term ‘Gypsum’. The search resultsbased upon the English term ‘Drywall’ are provided in a second windowsuch as windows 751 and 752, and the window(s) may have a title such as‘Search Results in English Language 755’ in FIG. 7. And, the translatedsearch results based upon the Hindi search term ‘Gypsum’ is provided inanother/third window such as window 761 in FIG. 7, where the window hasa title ‘Search Results in English (Translated from Hindi) 757’. Thethird window results are provided because of the user enabling ‘EnableInternational Terms Support’ 729 and ‘Enable Translation’ 735 buttons inthe search interface page prior to display of the current search resultpage 705.

The search result page 705 also contains the ‘prey’ 785 and ‘next’ 789buttons to access prior displayed search result pages and the subsequentsearch result pages, respectively, and a search button 739 which allowsa user to commence one or more searches inside a browser or otherapplication. A helpful note such as “Note: Enabling ‘International TermsSupport’ provides International Web Pages, enabling ‘Translation’provides Translated International Web Pages” 393 may also be provided.Other configurations and special/graphic elements may be provided in aninterface to the user, so other configurations and schemes other thanthat shown in FIG. 7 may be used. And, such interfaces may beconfigurable by a user or an operating system of a computer.

FIG. 8 is a flow diagram 805 illustrating the functionality of thesearch engine server of FIG. 1, during a search operation. Thefunctionality 805 begins at a block/step 807, with the foreign languagesupport search engine server receiving one or more search strings (in asource/search language, that is, one of the supported major languageslisted by and supported by the search engine server) from one or moreclient devices (see FIGS. 1-2). Then, at a next block/step 809, thesearch engine server interprets the search string or portions thereof inthe destination language by using conjugate terms database or by othermeans (such as considering the domain name of the search engine's queryinterface page, or doing language/pattern recognition). The conjugateterms databases contain strings and terms from the source language inone column along with a language tags and a corresponding conjugatedestination language strings and terms in other columns, or another datastructure.

At a next block/step 811, the search engine server determines applicablesearch result web page links using a source language search string asprocessed by a source language reverse index database. That is, thesearch engine server contains both source (international) languagereverse index databases and source (international) language web pagecache databases that contain reverse indexes (containing search terms,or strings/phrases, and relevant web links linked to these terms) andcache web pages (frozen web pages at the time of crawling andidentifying new web pages), in all of the supported major languages,such as English, German, French, Spanish, Chinese and Hindi. Thesesource language databases contain web pages that are retrieved from therespective servers without any alterations or translations.

At a next block/step 813, the search engine server selects web pagelinks that correlate with the search string or portions thereof using adestination language friendly version of the search string from adestination language reverse index database. The search engine serveralso contains destination (translated) language reverse index databasesand destination (translated) language web page cache databases thatcontain reverse indexes and cache web pages, respectively, in thedestination language. For example, for every English language web pageavailable in an English language web page cache databases, thetranslated language web page cache databases may contain in theirrespective destination language databases translated cache web pages inGerman, French, Spanish, Chinese, and Hindi.

At a next block/step 815, the search engine server ranks selected sourceand destination language web pages on the basis of extent of matchand/or popularity. At a next block/step 817, the search engine serverdelivers a first search result page containing a first few of the rankedweb page links from each of the reverse index databases in differentwindows or merged together in a single window. At a final block/step819, the search engine server retrieves and delivers corresponding webpages from the destination (translated) language web page cache databaseupon clicking on web page links in the translated window or some otherinterface provided to the user.

FIG. 9 is a flow diagram illustrating the functionality 905 of thesearch engine server of FIG. 2, during a search operation. Thefunctionality 905 begins at a block/step 907, with the foreign languagesupport search engine server receiving a search string in asource/search language from the client device. Then, at a nextblock/step 909, the search engine server interprets/translates/processesthe search string as needed to a destination language by using conjugateterms database or by other means (such as considering the domain name ofthe search engine's query interface page, or performingcharacter/pattern/spatial recognition).

At a next block/step 911, the search engine server determines relevantsearch result web page links using the source and/or destinationlanguage search string from source language reverse index database (thesearch engine server contains both source (international) languagereverse index databases and source (international) language web pagecache databases that contain reverse indexes and cache web pages, in allof the supported major languages, such as English, German, French,Spanish, Chinese and Hindi. At a next block/step 913, the search engineserver selects search results or web page links using destinationlanguage search string from destination language reverse index database.The search engine server also contains destination/translated languagereverse index databases and destination/translated language web pagecache databases that contain reverse indexes and cache web pages,respectively, in the destination language.

At a next block/step 915, the search engine server ranks selected sourceand destination language web pages on the basis of extent of matchand/or popularity or some other ranking criterion or criteria. At a nextblock/step 917, the search engine server delivers a first search resultpage containing a first few of the ranked web page links from each ofthe reverse index databases in different windows or merged together in asingle window. At a final block/step 919, the search engine serverretrieves, translates in real time, and delivers correspondingtranslated web pages upon clicking on web page links in the translatedwindow.

FIG. 10 is a flow diagram that illustrates the functionality 1005 of thesearch engine server of FIG. 1, wherein the search engine serveridentifies a new web page in a source language during crawling,translates it to a plurality of destination languages, creates reverseindexes in respective languages, and stores both reverse indexes andcache web pages in a database for later use. The functionality 1005begins at a block/step 1007, wherein the foreign language support searchengine server receives a new web page link from the web page crawler.The web page crawler module identifies the new web pages by a crawlingprocess that is, by jumping to one of the web links presented in one ofthe web pages, moving to that web page and then moving to another webpage by using web links presented in the current web page (ahierarchical traversing of the web page contents and sub-contents).

At a next block/step 1009, the search engine server determines thesource language of the new web page. The search engine server determinesits source language by either searching through conjugate termsdatabases (which contains all of the terms and strings in varioussupported major languages along with meanings or synonyms in rest of thesupported major languages), by pattern or character recognition, or byidentifying the domain name of the search engine query web page. At anext block/step 1011, the search engine server retrieves the new webpage contents (a file or several files from the Internet server).

At a next block/step 1013, the search engine server translates the newweb page contents in a source language to one or a plurality ofdestination languages using appropriate translators modules andcorresponding translation rules as taught herein in FIGS. 1-6. At a nextblock/step 1015, the search engine server stores the translated web pagecontents in respective web page cache databases. In other words, thetranslator modules contain a plurality of translators that translate thenew web page identified by the web page crawler module during crawlingoperations to plurality of other languages (destination languages, whichin one embodiment is all of the other languages in the supported majorlanguages other than the source language), and stores them in therespective translated language web page cache databases. In all, ifthere are five supported major languages, for example, then twentytranslators are employed to perform translations into rest of thesupported major languages. For N languages, where N in an integer,N*(N−1) translators are needed to handle all the pairs of two languagesthat require translation in the system.

Then, at a next block/step 1017, the search engine server providesuser-editing facilities to the users who receive the translated new webpage and stores this edited and translated new web page in a respectivelanguage web page cache database. Sometimes, the editing can bepreviewed by an IT expert resident at the server using the interface 649of FIG. 6 before allowing that user feedback to be incorporated into theserver data. At a next block/step 1019, the search engine servergenerates new rules of translations, if any, by correlating andanalyzing the new web page contents and translated and edited new webpage contents, as optionally approved by IT oversight as taught herein.That is, the search engine server compares the web pages translated bytranslator modules and edited by the users with the source web pages byutilizing many inputs such as the ones obtained by the usermodifications and corrections and then arrive at rules that would beemployed by the translator modules in all future translations, andstores these rules in appropriate databases. In other words, the systemcan learn or use artificial intelligence methods employed acrossmillions of users to improve its ability to translate over time.

The search engine server, at a next block/step 1021, creates reverseindexes for the new web page and translated new web page contents in therespective languages supported by the server. At a next block/step 1023,the search engine server stores these reverse indexes in respectivesource and destination language reverse index databases. In other words,the search engine server retrieves stored web page contents contained inthe translated language web page cache databases appropriately andcreates reverse indexes for each of these cache databases and thenstores them in the respective translated language reverse indexdatabases. At a final block/step 1025, the search engine server modifiesrespective source and destination conjugate terms databases to includenew words derived from the new web page and the translated web page.

The terms “circuit” and “circuitry” as used herein may refer to anindependent circuit or to a portion of a multifunctional circuit thatperforms multiple underlying functions. For example, depending on theembodiment, processing circuitry may be implemented as a single chipprocessor or as a plurality of processing chips Likewise, a firstcircuit and a second circuit may be combined in one embodiment into asingle circuit or, in another embodiment, operate independently perhapsin separate chips or may be split in more sub-component circuits. Theterm “chip,” as used herein, refers to an integrated circuit (IC).Circuits and circuitry may comprise general or specific purposehardware, or may comprise such hardware and associated software such asfirmware or object code.

As one of ordinary skill in the art will appreciate, the terms “operablycoupled” and “communicatively coupled,” as may be used herein, includedirect coupling and indirect coupling via another component, element,circuit, or module where, for indirect coupling, the interveningcomponent, element, circuit, or module may or may not modify theinformation of a signal and may adjust its current level, voltage level,and/or power level. As one of ordinary skill in the art will alsoappreciate, inferred coupling (i.e., where one element is coupled toanother element by inference) includes direct and indirect couplingbetween two elements in the same manner as “operably coupled” and“communicatively coupled.”

The present invention has also been described above with the aid ofmethod steps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention.

The present invention has been described above with the aid offunctional building blocks illustrating the performance of certainsignificant functions. The boundaries of these functional buildingblocks have been arbitrarily defined for convenience of description.Alternate boundaries could be defined as long as the certain significantfunctions are appropriately performed. Similarly, flow diagram blocksmay also have been arbitrarily defined herein to illustrate certainsignificant functionality. To the extent used, the flow diagram blockboundaries and sequence could have been defined otherwise and stillperform the certain significant functionality. Such alternatedefinitions of both functional building blocks and flow diagram blocksand sequences are thus within the scope and spirit of the claimedinvention.

One of average skill in the art will also recognize that the functionalbuilding blocks, and other illustrative blocks, modules and componentsherein, can be implemented as illustrated or by discrete components,application specific integrated circuits, processors executingappropriate software and the like or any combination thereof.

Moreover, although described in detail for purposes of clarity andunderstanding by way of the aforementioned embodiments, the presentinvention is not limited to such embodiments. It will be obvious to oneof average skill in the art that various changes and modifications maybe practiced within the spirit and scope of the invention, as limitedonly by the scope of the appended claims.

1. A search engine system that delivers search results via an Internet,the search engine system comprising: a web crawler that gathers via theInternet a first web page having first text content in a first language;a language processing service that translates the first text contentinto both a second language in a form of second text content and a thirdlanguage in a form of third text content; at least one databasestructure that stores indexed representations of each of the first textcontent, the second text content, and the third text content; and asearch processing service that, in response to receiving search input inthe second language, identifies within the at least one databasestructure at least a portion of the indexed representation of the secondtext content.
 2. The search engine system of claim 1, wherein the searchprocessing service delivers via web page data search results based atleast in part on the indexed representation of the second text content,the search results being at least in part in the second language.
 3. Thesearch engine system of claim 1, wherein the search processing service,in response to receiving search input in the third language, identifieswithin the at least one database structure at least a portion of theindexed representation of the third text content.
 4. The search enginesystem of claim 3, wherein the search processing service delivers viaweb page data search results based at least in part on the indexedrepresentation of the third text content, the search results being atleast in part in the third language.
 5. The search engine system ofclaim 1 wherein the at least one database structure comprises aplurality of international language reverse index databases that storereverse indexes in a plurality of respective source languages.
 6. Thesearch engine system of claim 1 wherein the at least one databasestructure comprises a plurality of international language web page cachedatabases that store cache web pages in a plurality of respective sourcelanguages.
 7. The search engine system of claim 1 wherein the at leastone database structure comprises a plurality of translated languagereverse index databases that store reverse indexes in a plurality ofdestination languages.
 8. The search engine system of claim 1 whereinthe at least one database structure comprises a plurality of translatedlanguage web page cache databases that store cache web pages in aplurality of destination languages.
 9. The search engine system of claim1 wherein the web crawler identifies the first language by processing adomain name.
 10. The search engine system of claim 1 wherein the webcrawler identifies the first language using a conjugate internationallanguage terms database that comprises terms in the first language andtheir conjugates in at least the second language.
 11. The search enginesystem of claim 1 wherein the web crawler support identifies the firstlanguage by performing pattern recognition on the first text content.12. A method performed by a search engine system that delivers searchresults via an Internet, the method comprising: gathering by a webcrawler via the Internet a first web page having first text content in afirst language; translating the first text content into both a secondlanguage in a form of second text content and a third language in a formof third text content; storing in at least one database structureindexed representations of each of the first text content, the secondtext content, and the third text content; and in response to receivingsearch input in the second language, identifying within the at least onedatabase structure at least a portion of the indexed representation ofthe second text content.
 13. The method of claim 12, further comprisingdelivering via web page data search results based at least in part onthe indexed representation of the second text content, the searchresults being at least in part in the second language.
 14. The method ofclaim 12, further comprising, in response to receiving search input inthe third language, identifying within the at least one databasestructure at least a portion of the indexed representation of the thirdtext content.
 15. The method of claim 14, further comprising deliveringvia web page data search results based at least in part on the indexedrepresentation of the third text content, the search results being atleast in part in the third language.
 16. The method of claim 12, furthercomprising storing reverse indexes in a plurality of respective sourcelanguages in the at least one database structure.
 17. The method ofclaim 12, further comprising storing cache web pages in a plurality ofrespective source languages in the at least one database structure. 18.The method of claim 12, further comprising storing reverse indexes in aplurality of destination languages in the at least one databasestructure.
 19. The method of claim 12, further comprising storing cacheweb pages in a plurality of destination languages in the at least onedatabase structure.
 20. The method of claim 12, further comprisingidentifying the first language by processing a domain name.
 21. Themethod of claim 12, further comprising identifying the first languageusing a conjugate international language terms database that comprisesterms in the first language and their conjugates in at least the secondlanguage.
 22. The method of claim 12, further comprising identifying thefirst language by performing pattern recognition on the first textcontent.